#include <iostream>
#include <string.h>
#include <math.h>
#define int long long
using namespace std;


struct item{
	int lose,win,use;
};


signed main(){
	int n,x;
	cin>>n>>x;
	item a[n];
	int dp[n+1][x+1];
	memset(dp,0,sizeof(dp));
	for(int i=0;i<n;i++)
		cin>>a[i].lose>>a[i].win>>a[i].use;
	for(int i=1;i<=n;i++)
		for(int j=0;j<=x;j++)
			dp[i][j] = max(j-a[i-1].use>=0?dp[i-1][j-a[i-1].use]+a[i-1].win:0,dp[i-1][j]+a[i-1].lose);
//	for(int i=0;i<=n;i++){
//		for(int j=0;j<=x;j++)
//			cout<<dp[i][j]<<" ";
//		cout<<endl;
//	}
	cout<<5*dp[n][x];
	return 0;
}
